package com.blue.jdbc.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 数据表水平分片注解
 * 
 * @author zhengj
 * @since 1.0 2017年4月26日
 */
@Documented
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface ShardingTable
{
	/**
	 * 分片关键字段
	 */
	String keyField();
	
	/**
	 * 分片个数
	 */
	int count();
	
	/**
	 * 分片起始索引，默认是0
	 */
	int start() default 0;
	
	/**
	 * 分片索引长度，不足位数前面填充0，0表示不填充
	 */
	int length() default 0;
	
	/**
	 * 数据表与分片索引的分栏符
	 */
	char split() default '_';
	
}
